home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1993…ch: Other People's Memory / ADC Developer CD (1993-03) (''Other People's Memory'')_iso / Dev.CD Mar 93.iso / Tools & Apps / OS⁄Toolbox / System 7 Icons Interfaces / Icons.a next >
Encoding:
Text File  |  1992-08-28  |  12.0 KB  |  415 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Icons.a
  3. ;
  4. ;    Contains:    Public Asm Interfaces for color icon plotting utilities
  5. ;
  6. ;    Copyright:    © 1990, 1992 by Apple Computer, Inc., all rights reserved.
  7. ;
  8.  
  9.     IF &TYPE('__INCLUDINGICONS__') = 'UNDEFINED' THEN
  10. __INCLUDINGICONS__    SET    1
  11.  
  12.     IF &TYPE('__INCLUDINGTRAPS__') = 'UNDEFINED' THEN
  13.         INCLUDE        'Traps.a'
  14.     ENDIF    ; ...already included
  15.  
  16. ;    The following are icons for which there are both icon suites and SICNs.
  17.  
  18. genericDocumentIconResource            EQU -4000
  19. genericStationeryIconResource        EQU -3985
  20. genericEditionFileIconResource        EQU -3989
  21. genericApplicationIconResource        EQU -3996
  22. genericDeskAccessoryIconResource    EQU -3991
  23.  
  24. genericFolderIconResource            EQU -3999
  25. privateFolderIconResource            EQU -3994
  26.  
  27. floppyIconResource                    EQU -3998
  28. trashIconResource                    EQU -3993
  29.  
  30. ; The following are icons for which there are SICNs only.
  31.  
  32. desktopIconResource                    EQU -3992
  33. openFolderIconResource                EQU -3997
  34. genericHardDiskIconResource            EQU -3995
  35. genericFileServerIconResource        EQU -3972
  36. genericSuitcaseIconResource            EQU -3970
  37. genericMoverObjectIconResource        EQU -3969
  38.  
  39. ; The following are icons for which there are icon suites only.
  40.  
  41. genericPreferencesIconResource        EQU -3971
  42. genericQueryDocumentIconResource    EQU -16506
  43. genericExtensionIconResource        EQU -16415
  44.  
  45. systemFolderIconResource            EQU -3983
  46. appleMenuFolderIconResource            EQU -3982
  47. startupFolderIconResource            EQU -3981
  48. ownedFolderIconResource                EQU -3980
  49. dropFolderIconResource                EQU -3979
  50. sharedFolderIconResource            EQU -3978
  51. mountedFolderIconResource            EQU -3977
  52. controlPanelFolderIconResource        EQU -3976
  53. printMonitorFolderIconResource        EQU -3975
  54. preferencesFolderIconResource        EQU -3974
  55. extensionsFolderIconResource        EQU -3973
  56.  
  57. fullTrashIconResource                EQU -3984
  58.     
  59.  
  60. Large1BitMask            EQU        ('ICN#')
  61. Large4BitData            EQU        ('icl4')
  62. Large8BitData            EQU        ('icl8')
  63. Small1BitMask            EQU        ('ics#')
  64. Small4BitData            EQU        ('ics4')
  65. Small8BitData            EQU        ('ics8')
  66. Mini1BitMask            EQU        ('icm#')
  67. Mini4BitData            EQU        ('icm4')
  68. Mini8BitData            EQU        ('icm8')
  69.  
  70.  
  71. ; Alignment Equates
  72.  
  73. atNone                    EQU        $0
  74. atVerticalCenter        EQU        $1
  75. atTop                    EQU        $2
  76. atBottom                EQU        $3
  77. atHorizontalCenter        EQU        $4
  78. atAbsoluteCenter        EQU        (atVerticalCenter | atHorizontalCenter)
  79. atCenterTop                EQU        (atTop | atHorizontalCenter)
  80. atCenterBottom            EQU        (atBottom | atHorizontalCenter)
  81. atLeft                    EQU        $8
  82. atCenterLeft            EQU        (atVerticalCenter | atLeft)
  83. atTopLeft                EQU        (atTop | atLeft)
  84. atBottomLeft            EQU        (atBottom | atLeft)
  85. atRight                    EQU        $C
  86. atCenterRight            EQU        (atVerticalCenter | atRight)
  87. atTopRight                EQU        (atTop | atRight)
  88. atBottomRight            EQU        (atBottom | atRight)
  89.  
  90. ;Transform Types
  91.  
  92. ttNone                    EQU        $0
  93. ttDisabled                EQU        $1
  94. ttOffline                EQU        $2
  95. ttOpen                    EQU        $3
  96. ttLabel1                EQU        $0100
  97. ttLabel2                EQU        $0200
  98. ttLabel3                EQU        $0300
  99. ttLabel4                EQU        $0400
  100. ttLabel5                EQU        $0500
  101. ttLabel6                EQU        $0600
  102. ttLabel7                EQU        $0700
  103. ttSelected                EQU        $4000
  104. ttSelectedDisabled        EQU        (ttSelected    | ttDisabled)
  105. ttSelectedOffline        EQU        (ttSelected    | ttOffline)
  106. ttSelectedOpen            EQU        (ttSelected    | ttOpen)
  107.  
  108. ;Selector mask values
  109.  
  110. svLarge1Bit                EQU        $00000001
  111. svLarge4Bit                EQU        $00000002
  112. svLarge8Bit                EQU        $00000004
  113. svSmall1Bit                EQU        $00000100
  114. svSmall4Bit                EQU        $00000200
  115. svSmall8Bit                EQU        $00000400
  116. svMini1Bit                EQU        $00010000
  117. svMini4Bit                EQU        $00020000
  118. svMini8Bit                EQU        $00040000
  119. svAllLargeData            EQU        $000000FF
  120. svAllSmallData            EQU        $0000FF00
  121. svAllMiniData            EQU        $00FF0000
  122. svAll1BitData            EQU        (svLarge1Bit | svSmall1Bit | svMini1Bit)
  123. svAll4BitData            EQU        (svLarge4Bit | svSmall4Bit | svMini4Bit)
  124. svAll8BitData            EQU        (svLarge8Bit | svSmall8Bit | svMini8Bit)
  125. svAllAvailableData        EQU        $FFFFFFFF
  126.  
  127. ;————————————————————————————————————————————————————————————————————————————————————————————————————
  128. ; Define the new selectors for the Icon Utilities
  129.  
  130. selectPlotIconID        EQU        $0
  131. selectGetIconSuite        EQU        $1
  132. selectDisposeIconSuite    EQU        $2
  133. selectPlotIconSuite        EQU        $3
  134. selectMakeIconCache        EQU        $4
  135. selectPlotIconMethod    EQU        $5
  136. selectLoadIconCache        EQU        $6
  137. selectNewIconSuite        EQU        $7
  138. selectAddIconToSuite    EQU        $8
  139. selectGetIconFromSuite    EQU        $9
  140. selectForEachIconDo        EQU        $A
  141. selectGetLabel            EQU        $B
  142. selectPtInIconID        EQU        $D
  143. selectPtInIconSuite        EQU        $E
  144. selectPtInIconMethod    EQU        $F
  145. selectRectInIconID        EQU        $10
  146. selectRectInIconSuite    EQU        $11
  147. selectRectInIconMethod    EQU        $12
  148. selectIconIDToRgn        EQU        $13
  149. selectIconSuiteToRgn    EQU        $14
  150. selectIconMethodToRgn    EQU        $15
  151. selectSetSuiteLabel        EQU        $16
  152. selectGetSuiteLabel        EQU        $17
  153. selectGetIconCacheData    EQU        $19
  154. selectSetIconCacheData    EQU        $1A
  155. selectGetIconCacheProc    EQU        $1B
  156. selectSetIconCacheProc    EQU        $1C
  157. selectPlotIconHandle    EQU        $1D
  158. selectPlotSICNHandle    EQU        $1E
  159. selectPlotCIconHandle    EQU        $1F
  160.  
  161. ;————————————————————————————————————————————————————————————————————————————————————————————————————
  162. ; Define the new paramors for the Icon Utilities
  163.  
  164. paramPlotIconID            EQU        $5
  165. paramGetIconSuite        EQU        $5
  166. paramDisposeIconSuite    EQU        $3
  167. paramPlotIconSuite        EQU        $6
  168. paramMakeIconCache        EQU        $6
  169. paramPlotIconMethod        EQU        $8
  170. paramLoadIconCache        EQU        $6
  171. paramNewIconSuite        EQU        $2
  172. paramAddIconToSuite        EQU        $6
  173. paramGetIconFromSuite    EQU        $6
  174. paramForEachIconDo        EQU        $8
  175. paramGetLabel            EQU        $5
  176. paramPtInIconID            EQU        $6
  177. paramPtInIconSuite        EQU        $7
  178. paramPtInIconMethod        EQU        $9
  179. paramRectInIconID        EQU        $6
  180. paramRectInIconSuite    EQU        $7
  181. paramRectInIconMethod    EQU        $9
  182. paramIconIDToRgn        EQU        $6
  183. paramIconSuiteToRgn        EQU        $7
  184. paramIconMethodToRgn    EQU        $9
  185. paramSetSuiteLabel        EQU        $3
  186. paramGetSuiteLabel        EQU        $2
  187. paramGetIconCacheData    EQU        $4
  188. paramSetIconCacheData    EQU        $4
  189. paramGetIconCacheProc    EQU        $4
  190. paramSetIconCacheProc    EQU        $4
  191. paramPlotIconHandle        EQU        $6
  192. paramPlotSICNHandle        EQU        $6
  193. paramPlotCIconHandle    EQU        $6
  194.  
  195. ;    IconAction            =    ProcPtr;    {
  196. ;                                            FUNCTION IconAction(theType: ResType;
  197. ;                                                        VAR theIcon: Handle;
  198. ;                                                        yourDataPtr: Ptr): OSErr;
  199. ;                                        }
  200.                                         
  201. ;    IconGetter            =    ProcPtr;    {
  202. ;                                            FUNCTION IconGetter(theType: ResType;
  203. ;                                                        yourDataPtr: Ptr): Handle;
  204. ;                                        }
  205.  
  206. ;        FUNCTION PlotIconID(theRect: Rect; align: INTEGER;
  207. ;                            transform: INTEGER; theID: INTEGER): OSErr;
  208.         MACRO
  209.         _PlotIconID
  210.         DoDispatch    _IconDispatch, selectPlotIconID, paramPlotIconID
  211.         ENDM
  212.  
  213. ;        FUNCTION NewIconSuite(VAR theIconSuite: Handle): OSErr;
  214.         MACRO
  215.         _NewIconSuite
  216.         DoDispatch    _IconDispatch, selectNewIconSuite, paramNewIconSuite
  217.         ENDM
  218.  
  219. ;        FUNCTION AddIconToSuite(theIconData: Handle; theSuite: Handle;
  220. ;                            theType: ResType): OSErr;
  221.         MACRO
  222.         _AddIconToSuite
  223.         DoDispatch    _IconDispatch, selectAddIconToSuite, paramAddIconToSuite
  224.         ENDM
  225.  
  226. ;        FUNCTION GetIconFromSuite(VAR theIconData: Handle; theSuite: Handle;
  227. ;                            theType: ResType): OSErr;
  228.         MACRO
  229.         _GetIconFromSuite
  230.         DoDispatch    _IconDispatch, selectGetIconFromSuite, paramGetIconFromSuite
  231.         ENDM
  232.  
  233. ;        FUNCTION ForEachIconDo(theSuite: Handle; selector: LONGINT;
  234. ;                            action: IconAction; yourDataPtr: Ptr): OSErr;
  235.         MACRO
  236.         _ForEachIconDo
  237.         DoDispatch    _IconDispatch, selectForEachIconDo, paramForEachIconDo
  238.         ENDM
  239.  
  240. ;        FUNCTION GetIconSuite(VAR theIconSuite: Handle; theID: INTEGER;
  241. ;                            selector: LONGINT): OSErr;
  242.         MACRO
  243.         _GetIconSuite
  244.         DoDispatch    _IconDispatch, selectGetIconSuite, paramGetIconSuite
  245.         ENDM
  246.  
  247. ;        FUNCTION DisposeIconSuite(theIconSuite: Handle,
  248. ;                            disposeData: BOOLEAN): OSErr;
  249.         MACRO
  250.         _DisposeIconSuite
  251.         DoDispatch    _IconDispatch, selectDisposeIconSuite, paramDisposeIconSuite
  252.         ENDM
  253.  
  254. ;        FUNCTION PlotIconSuite(theRect: Rect; align: INTEGER; transform: INTEGER;
  255. ;                            theIconSuite: Handle): OSErr;
  256.         MACRO
  257.         _PlotIconSuite
  258.         DoDispatch    _IconDispatch, selectPlotIconSuite, paramPlotIconSuite
  259.         ENDM
  260.  
  261. ;        FUNCTION MakeIconCache(VAR theHandle: Handle; makeIcon: IconGetter;
  262. ;                            yourDataPtr: Ptr): OSErr;
  263.         MACRO
  264.         _MakeIconCache
  265.         DoDispatch    _IconDispatch, selectMakeIconCache, paramMakeIconCache
  266.         ENDM
  267.  
  268. ;        FUNCTION LoadIconCache(theRect: Rect; align: INTEGER; transform: INTEGER;
  269. ;                            theIconCache: Handle): OSErr;
  270.         MACRO
  271.         _LoadIconCache
  272.         DoDispatch    _IconDispatch, selectLoadIconCache, paramLoadIconCache
  273.         ENDM
  274.  
  275. ;        FUNCTION PlotIconMethod(theRect: Rect; align: INTEGER; transform: INTEGER;
  276. ;                            theMethod: IconGetter; yourDataPtr: Ptr): OSErr;
  277.         MACRO
  278.         _PlotIconMethod
  279.         DoDispatch    _IconDispatch, selectPlotIconMethod, paramPlotIconMethod
  280.         ENDM
  281.  
  282. ;        FUNCTION GetLabel(labelNumber: INTEGER; VAR labelColor: RGBColor;
  283. ;                            VAR Str255 labelString): OSErr;
  284.         MACRO
  285.         _GetLabel
  286.         DoDispatch    _IconDispatch, selectGetLabel, paramGetLabel
  287.         ENDM
  288.  
  289. ;        FUNCTION PtInIconID(testPt: Point; iconRect: Rect;
  290. ;                        align: IconAlignmentType; iconID: INTEGER): BOOLEAN;
  291.         MACRO
  292.         _PtInIconID
  293.         DoDispatch    _IconDispatch, selectPtInIconID, paramPtInIconID
  294.         ENDM
  295.  
  296. ;        FUNCTION PtInIconSuite(testPt: Point; iconRect: Rect;
  297. ;                        align: IconAlignmentType;
  298. ;                        theIconSuite: Handle): BOOLEAN;
  299.         MACRO
  300.         _PtInIconSuite
  301.         DoDispatch    _IconDispatch, selectPtInIconSuite, paramPtInIconSuite
  302.         ENDM
  303.  
  304. ;        FUNCTION PtInIconMethod(testPt: Point; iconRect: Rect;
  305. ;                        align: IconAlignmentType;
  306. ;                        theMethod: IconGetter; yourDataPtr: Ptr): BOOLEAN;
  307.         MACRO
  308.         _PtInIconMethod
  309.         DoDispatch    _IconDispatch, selectPtInIconMethod, paramPtInIconMethod
  310.         ENDM
  311.  
  312. ;        FUNCTION RectInIconID(testRect: Rect; iconRect: Rect;
  313. ;                        align: IconAlignmentType; iconID: INTEGER): BOOLEAN;
  314.         MACRO
  315.         _RectInIconID
  316.         DoDispatch    _IconDispatch, selectRectInIconID, paramRectInIconID
  317.         ENDM
  318.  
  319. ;        FUNCTION RectInIconSuite(testRect: Rect; iconRect: Rect;
  320. ;                        align: IconAlignmentType;
  321. ;                        theIconSuite: Handle): BOOLEAN;
  322.         MACRO
  323.         _RectInIconSuite
  324.         DoDispatch    _IconDispatch, selectRectInIconSuite, paramRectInIconSuite
  325.         ENDM
  326.  
  327. ;        FUNCTION RectInIconMethod(testRect: Rect; iconRect: Rect;
  328. ;                        align: IconAlignmentType;
  329. ;                        theMethod: IconGetter; yourDataPtr: Ptr): BOOLEAN;
  330.         MACRO
  331.         _RectInIconMethod
  332.         DoDispatch    _IconDispatch, selectRectInIconMethod, paramRectInIconMethod
  333.         ENDM
  334.  
  335. ;        FUNCTION IconIDToRgn(theRgn: RgnHandle; iconRect: Rect;
  336. ;                        align: IconAlignmentType; iconID: INTEGER): OSErr;
  337.         MACRO
  338.         _IconIDToRgn
  339.         DoDispatch    _IconDispatch, selectIconIDToRgn, paramIconIDToRgn
  340.         ENDM
  341.  
  342. ;        FUNCTION IconSuiteToRgn(theRgn: RgnHandle; iconRect: Rect;
  343. ;                        align: IconAlignmentType;
  344. ;                        theIconSuite: Handle): OSErr;
  345.         MACRO
  346.         _IconSuiteToRgn
  347.         DoDispatch    _IconDispatch, selectIconSuiteToRgn, paramIconSuiteToRgn
  348.         ENDM
  349.  
  350. ;        FUNCTION IconMethodToRgn(theRgn: RgnHandle; iconRect: Rect;
  351. ;                        align: IconAlignmentType;
  352. ;                        theMethod: IconGetter; yourDataPtr: Ptr): OSErr;
  353.         MACRO
  354.         _IconMethodToRgn
  355.         DoDispatch    _IconDispatch, selectIconMethodToRgn, paramIconMethodToRgn
  356.         ENDM
  357.  
  358. ;        FUNCTION SetSuiteLabel(theSuite: Handle; theLabel: INTEGER): OSErr;
  359.         MACRO
  360.         _SetSuiteLabel
  361.         DoDispatch    _IconDispatch, selectSetSuiteLabel, paramSetSuiteLabel
  362.         ENDM
  363.  
  364. ;        FUNCTION GetSuiteLabel(theSuite: Handle): INTEGER;
  365.         MACRO
  366.         _GetSuiteLabel
  367.         DoDispatch    _IconDispatch, selectGetSuiteLabel, paramGetSuiteLabel
  368.         ENDM
  369.  
  370. ;        FUNCTION GetIconCacheData(theCache: Handle; VAR theData: Ptr): OSErr;
  371.         MACRO
  372.         _GetIconCacheData
  373.         DoDispatch    _IconDispatch, selectGetIconCacheData, paramGetIconCacheData
  374.         ENDM
  375.         
  376. ;        FUNCTION SetIconCacheData(theCache: Handle; theData: Ptr): OSErr;
  377.         MACRO
  378.         _SetIconCacheData
  379.         DoDispatch    _IconDispatch, selectSetIconCacheData, paramSetIconCacheData
  380.         ENDM
  381.         
  382. ;        FUNCTION GetIconCacheProc(theCache: Handle; VAR theProc: IconGetter): OSErr;
  383.         MACRO
  384.         _GetIconCacheProc
  385.         DoDispatch    _IconDispatch, selectGetIconCacheProc, paramGetIconCacheProc
  386.         ENDM
  387.         
  388. ;        FUNCTION SetIconCacheProc(theCache: Handle; theProc: IconGetter): OSErr;
  389.         MACRO
  390.         _SetIconCacheProc
  391.         DoDispatch    _IconDispatch, selectSetIconCacheProc, paramSetIconCacheProc
  392.         ENDM
  393.         
  394. ;        FUNCTION PlotIconHandle(theRect: Rect; align: INTEGER; transform: INTEGER;
  395. ;                            theIcon: Handle): OSErr;
  396.         MACRO
  397.         _PlotIconHandle
  398.         DoDispatch    _IconDispatch, selectPlotIconHandle, paramPlotIconHandle
  399.         ENDM
  400.  
  401. ;        FUNCTION PlotSICNHandle(theRect: Rect; align: INTEGER; transform: INTEGER;
  402. ;                            theSICN: Handle): OSErr;
  403.         MACRO
  404.         _PlotSICNHandle
  405.         DoDispatch    _IconDispatch, selectPlotSICNHandle, paramPlotSICNHandle
  406.         ENDM
  407.  
  408. ;        FUNCTION PlotCIconHandle(theRect: Rect; align: INTEGER; transform: INTEGER;
  409. ;                            theCIcon: CIconHandle): OSErr;
  410.         MACRO
  411.         _PlotCIconHandle
  412.         DoDispatch    _IconDispatch, selectPlotCIconHandle, paramPlotCIconHandle
  413.         ENDM
  414.  
  415.     ENDIF    ; ...already included